var id = 0;
var headerEntity = null;

var thisPage = {
    // 初始化页面
    OnPageLoad: function () {
        thisPage.PageInit();
    },
    PageInit: function () {
        var params = {};
        params['HeaderId'] = parseInt(id);

        $.ajax({
            type: "POST",
            url: window.basePath + "/purchase/notes_payabled/fetchPrintPreviewData.html",
            timeout: 30 * 1000,
            data: JSON.stringify(params),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            beforeSend: function () {
            }
        }).done(function (data) {
            headerEntity = data.HeaderEntity;
            var item = data.HeaderEntity;
            $("#SupplierName").html(item.supplierName);
            $("#CycleOfBill").html(item.cycleOfBillFrom + " ～ " + item.cycleOfBillTo);

            // 显示明细数据
            linesHandler.BuildDataTable(data.LinesData);
        }).fail(function (data) {
            $('#loading').hide();
            ajaxError(data, 1);
        }).always(function () {
        });
    },
    // html打印
    DoPreview: function () {
        window.print();
    }
};

//-----------------------------------------------------------------------------
// 明细处理部分
//-----------------------------------------------------------------------------
var linesHandler = {
    _rows: 0, // 共有多少行记录
    BuildDataTable: function (result) {
        $('#content').empty();
        // 得到数据列表
        if (result === null) {
            $('#loading').hide();
            linesHandler._rows = 0;
            return false;
        }
        var content01 = '';

        linesHandler._rows = result.length;
        for (var i = 0; i < result.length; i++) {
            // 明细行
            if (result[i].rowFlag === 1 || result[i].rowFlag === 3) {
                content01 += '<tr>';
                content01 += '<td class="cell">' + formatNullData(result[i].arrivalDate) + '</td>';
                content01 += '<td class="cell">' + formatNullData(result[i].styleNo) + '</td>';
                content01 += '<td class="cell">' + formatNullData(result[i].materialName) + '</td>';
                content01 += '<td class="cell">' + formatNullData(result[i].materialCode) + '</td>';
                content01 += '<td class="cell">' + formatNullData(result[i].specification) + '</td>';
                content01 += '<td class="cell">' + formatNullData(result[i].materialColourName) + '</td>';
                content01 += '<td class="cell">' + formatNullData(result[i].uomName) + '</td>';
                content01 += '<td class="cell" style="padding-right:2px; text-align:right;">' + formatNullData(result[i].poQuantity) + '</td>';
                content01 += '<td class="cell" style="padding-right:2px; text-align:right;">' + formatNullData(result[i].stockInQuantity) + '</td>';
                content01 += '<td class="cell" style="padding-right:2px; text-align:right;">' + formatNullData(result[i].payabledQuantity) + '</td>';
                content01 += '<td class="cell" style="padding-right:2px; text-align:right;">' + formatNullData(result[i].unitPriceAddedTax) + '</td>';
                content01 += '<td class="cell" style="padding-right:2px; text-align:right;">' + formatNullData(result[i].payabledAmount) + '</td>';
                content01 += '<td class="cell">' + formatNullData(result[i].invoiceNo) + '</td>';
                if (result[i].taxRate !== null) {
                    content01 += '<td class="cell">' + formatNullData(result[i].taxRate * 100) + '%</td>';
                } else {
                    content01 += '<td class="cell"></td>';
                }

                content01 += '<td class="cell">' + formatNullData(result[i].lotNo) + '</td>';
                content01 += '<td class="cell">' + formatNullData(result[i].description) + '</td>';
                content01 += '</tr>';
            }
            // 小计行
            //if (result[i].rowFlag === 2) {
            //    content01 += '<tr>';
            //    content01 += '<td class="cell" colspan="7"></td>';
            //    content01 += '<td class="cell"></td>';
            //    content01 += '<td class="cell" style="padding-right:2px; text-align:right; font-weight:bold;">' + formatNullData(result[i].stockInQuantity) + '</td>';
            //    content01 += '<td class="cell" style="padding-right:2px; text-align:right; font-weight:bold;">' + formatNullData(result[i].payabledQuantity) + '</td>';
            //    content01 += '<td class="cell" colspan="6"></td>';
            //    content01 += '</tr>';
            //}
            if (result[i].rowFlag === 4) {
                content01 += '<tr>';
                content01 += '<td class="cell"></td>';
                content01 += '<td class="cell">' + formatNullData(result[i].styleNo) + '</td>';
                content01 += '<td class="cell" colspan="9"></td>';
                content01 += '<td class="cell" style="padding-right:2px; text-align:right; font-weight:bold;">' + formatNullData(result[i].payabledAmount) + '</td>';
                content01 += '<td class="cell" colspan="4"></td>';
                content01 += '</tr>';
            }
            // 总计行
            if (result[i].rowFlag === 5) {
                content01 += '<tr>';
                content01 += '<td class="cell" colspan="10"></td>';
                content01 += '<td class="cell" style="padding-right:2px; text-align:right; font-weight:bold;" colspan="2">' + formatMoney(result[i].payabledAmount) + '</td>';
                if (headerEntity !== null) {
                    //content01 += '<td class="cell" style="text-align:right; padding-right:5px; border-right:none;">' + headerEntity.updatedByName + '</td>';
                    content01 += '<td class="cell" style="text-align:right; padding-right:5px; border-right:none;"></td>';    // 需要空出来
                    content01 += '<td class="cell" colspan="3" style="text-align:left; padding-left:5px; border-left:none;">' + headerEntity.updatedDate + '</td>';
                } else {
                    content01 += '<td class="cell" colspan="4"></td>';
                }
                content01 += '</tr>';
            }
            $('#content').append(content01);
            content01 = '';
        }

        $('#loading').hide();
    }
};

function formatMoney(s, type) {
    if (/[^0-9\.]/.test(s))
        return "0";
    if (s === null || s === "")
        return "";
    s = s.toString().replace(/^(\d*)$/, "$1.");
    s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1");
    s = s.replace(".", ",");
    var re = /(\d)(\d{3},)/;
    while (re.test(s))
        s = s.replace(re, "$1,$2");
    s = s.replace(/,(\d\d)$/, ".$1");
    if (type === 0) {// 不带小数位(默认是有小数位)  
        var a = s.split(".");
        if (a[1] === "00") {
            s = a[0];
        }
    }
    return s;
}
//-----------------------------------------------------------------------------
// 页面初始化
//-----------------------------------------------------------------------------
function onPageReady() {
    // 从url得到相关参数
    id = jQuery.url.param("id");
    thisPage.OnPageLoad();
}

function onPageResize() {
}
